9
תגובות

קידוד אתר

פתח Jackarss ,
איך אני מגלה סוג הקידוד של אתר על ידי URL ?
כלומר UTF8 \ WINDOWS-1225 וכו'

9 תשובות

avatar ענה shlomo120 ב 28 לאוגוסט 2012 #

ע"י הכתובת של האתר?
אתה יכול לבדוק אם נשלח הדר עם הקידוד אבל רוב האנשים שולחים הדר רק שהם משתמשים בUTF-8 ככה שהתוצאות לא יהיו הכי מדויקות .

ההדר שהתכוונתי :

header('Content-Type: text/html; charset=utf-8');

avatar ענה intval ב 28 לאוגוסט 2012 #

ב php יש ספריה לעבודה עם קידודים, נקראת multibyte
יש שם פונקציות לבדיקת קידוד, אמנם הם לא תמיד עובדות טוב.

קרא את הדוקומנטציה של mb_detect_encoding
ואת כל התגובות אליה. משהו מזה בוודאות יפתור לך את הבעיה.

avatar ענה Jackarss ב 28 לאוגוסט 2012 #

בדקתי את זה כבר, זה רושם לי באתרים של windows-1225 רושם לי UTF8 ככה שזה לא כל כך עוזר לי...

avatar ענה intval ב 28 לאוגוסט 2012 #

את התגובות של אנשים שם קראת? מישהו כבר בטוח ניסה לעשות את מה שאתה עושה וכתב איך הוא עשה את זה.
למשל זה

avatar ענה Jackarss ב 28 לאוגוסט 2012 #

אבל אני צריך משהו שעובד, לא משהו שאולי יעבוד.

avatar ענה intval ב 28 לאוגוסט 2012 #

תנסה. זה עובד.

avatar ענה Jackarss ב 28 לאוגוסט 2012 #

עשיתי FILE_GET_CONTENT ואז בדקתי מה הENCODE שלו בעזרת MB_DETECT_ENCODING וזה רשם UTF-8 למרות שהקידוד הוא windows-1225.
האתר שעשיתי לו FILE_GET_CONTENT הוא:
h2u.co.il

avatar ענה intval ב 28 לאוגוסט 2012 #

פעם שלישית
תקרא את התגובות לפונקציה

אפילו נתתי לך קישור עם קוד מוכן שעובד.
http://il.php.net/manual/en/function.mb-detect-encoding.php#89944

avatar ענה Cayce ב 30 לאוגוסט 2012 #

אם הדפדפן פותח את האתר כמו שצריך(עם קידוד נכון), זה אומר שהשרת שלח קידוד נכון.
אתה צריך להסתכל אבל לא על הקידוד שיש לך בתג meta, אלה על זה שרשום בheaders, כי זה מה שהדפדפן עושה(רק אם שם לא צוין קידוד, הדפדפן יסתכל על הקידוד שרשום בדף html עצמו).